package models; import java.util.Set; public interface BankProc { /** * @param sum * @param accountID * @param person * @pre sum > 0 * @pre accountID != null * @pre person != null * @post money = money@pre + sum * @invariant isWellFormed */ public void deposit(double sum, String accountID, Person person); /** * @param sum * @param accountID * @param person * @pre sum > 0 * @pre accountID != null * @pre person != null * @post money = money@pre - sum * @invariant isWellFormed */ public void withdraw(double sum, String accountID, Person person); /** * @param person * @param account * @pre person != null * @pre account != null * @post bankmap.get(person).size() = bankmap.get(person).size()@pre + 1 * @invariant isWellFormed */ public void addAccount(Person person, Account account); /** * @param person * @param account * @pre person != null * @pre account != null * @post bankmap.get(person).size() = bankmap.get(person).size()@pre - 1 * @invariant isWellFormed */ public void removeAccount(Person person, Account account); /** * @param person * @pre person != null * @post bankmap = bankmap@pre * @invariant isWellFormed */ public Set<Account> getAccounts(Person person); /** * @post bankmap = bankmap@pre * @invariant isWellFormed */ public Set<Person> getHolders(); /** * @param person * @pre person != null * @post bankmap.size() = bankmap.size()@pre + 1 * @invariant isWellFormed */ public void addHolder(Person p); /** * @param person * @pre person != null * @post bankmap.size() = bankmap.size()@pre - 1 * @invariant isWellFormed */ public void removeHolder(Person p); //invariant: public boolean isWellFormed(); public String toString(); }